package rcproxy

import "encoding/json"

type CallRequest struct {
	Id     string        `json:"id"`     //	消息ID
	Object string        `json:"object"` //	被调用的对象
	Func   string        `json:"func"`   //	函数名
	Args   []interface{} `json:"args"`   //	参数列表
}

type CallReponse struct {
	Id     string      `json:"id"`     //	消息ID
	Result interface{} `json:"result"` //	结果
}

func CallRequestFromJson(text []byte) (*CallRequest, error) {
	req := new(CallRequest)
	return req, json.Unmarshal(text, req)
}

func CallRequestToJson(req *CallRequest) ([]byte, error) {
	return json.Marshal(req)
}

func CallReponseFromJson(text []byte) (*CallReponse, error) {
	rep := new(CallReponse)
	return rep, json.Unmarshal(text, rep)
}

func CallReponseToJson(rep *CallReponse) ([]byte, error) {
	return json.Marshal(rep)
}
